Developers of programming tools often search for ways to increase programming efficiency and accuracy, encourage reuse of code and help foster repeatable programming processes. A number of software tools ranging from planning tools (e.g., Microsoft Project™) to object based coding environments (e.g., Microsoft Visual Basic™) have helped achieve these goals. Such tools also include a number of Database Management Systems (DBMS) and code generators such as Microsoft Visual InterDev™.
Other tools help programmers organize and document code. In large application development projects, maintaining organization is vital because, for example, there may be hundreds of individual code components (e.g. functions, procedures, etc.). Among the many functions and procedures, there usually exist many interdependencies, wherein code components make calls, or pass control to other code components to perform specific operations. Maintaining an understanding of existing code components and the structure of interdependencies, often helps to prevent duplication of effort, reduces programmer error, and simplifies the overall development and maintenance procedures.
“Commenting” is another practice which is effectively used to simplify understanding of code components and interdependencies. Commenting is the practice of placing plain language text within the body of programming code and is most often used to briefly explain the functionality of the code component and to describe interdependencies. Most programming languages support commenting by designating a key character to be used to mark the beginning and end of the comment body. The key character tells the compiler to ignore the comment text. This has traditionally been a manual process wherein the programmer must be disciplined in entering comments during the authoring process. However, due to stylistic differences between programmers, comments are not always as effective as intended. Also, programmers may overlook commenting altogether.
As a part of the Java Development Kit (JDK), Sun Microsystems developed a technology known as Javadocs to automatically manage interdependencies and provide limited code commenting. Javadocs are a set of interrelated code components that have been hyperlink-enabled. This enables a programmer to quickly navigate through the logical structure of a program in order to develop a better understanding and to create greater efficiency in development and maintenance procedures. For example, a main portion of a program that has been designed to calculate mortgage interest based on interest rate and term may include a call to a function that performs amortization calculations. In Javadocs, the function name appearing in the body of the programming code may be hyperlinked to that function. As a result, the programmer may simply click on the function name in order to view the function, rather than manually searching and opening the function.
The efforts expended to create more robust programming tools have largely been in relation to object oriented programming languages such as, for example, C++, Visual Basic, and Java. Legacy languages such as COBOL, however, have received little attention since its use is generally limited. Also, because COBOL is not an object oriented language, some may believe that the code management tools discussed above would not be effective. However, as computing technology has advanced, so too has the level of sophistication required from newly created and/or modified programs in the legacy environment. Therefore, a need exists within the legacy programming environment for a tool with similar functionality in providing code component and interdependency management.